13336
20122
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。
想改善这个问题吗?更新问题,使其成为Stack Overflow的主题。
4年前关闭。
改善这个问题
我正在构建一个处理应用程序选择的多个文本文件的Shiny应用程序。
输出是一个巨大的数据帧,其中包含数百万行和数十列。
我现在感兴趣的是允许用户交互式地过滤行,选择列并汇总列(通过从均值,标准差,最大值,最小值,总和等功能列表中进行选择)。结果将是一个较小的数据框,汇总每个用户选择的数据-基本上,我需要创建一个实现dplyr库基本功能的GUI。
总的来说,我知道如何通过手动创建一堆GUI元素并使用许多dplyr命令将它们馈送到服务器功能中来做到这一点。由于这似乎是一个非常标准的功能(用于过滤和汇总数据框的GUI),因此在我从头开始构建它之前,我想知道是否有任何“现成的”东西可以按原样使用或用作起点。 
我知道您说过rpivotTable并不是您想要的,但是我认为可以将其配置为完成一些繁重的工作,
这是一个示例(使用rpivotTable进行操作,使用DT显示data.frame,使用RVest解析来自DOM的innerHTML,可能会有更好的数据格式从客户端传递表对象,但这是概念证明) ):
用户界面
图书馆(闪亮)
图书馆(DT)
库(rpivotTable)
整页<-fluidPage(
DT :: dataTableOutput('aSummaryTable'),
rpivotTableOutput('RESULTS')
)
完整页面
server.R:
图书馆(闪亮)
库(数据透视表)
图书馆(DT)
图书馆(rvest)
功能(输入,输出,会话){
#制作一些样本数据
qbdata <-反应性({
expand.grid(字母,1:3)
})
#清理HTML并将其存储为React
summarydf <-eventReactive(input $ myData,{
input $ myData%>%
read_html%>%
html_table(fill = TRUE)%>%
#原来rpivotTable中有两个表,我们要第二个
。[[2]]
})
#将df显示为DT :: datatable
输出$ aSummaryTable <-DT :: renderDataTable({
数据表(summarydf(),行名= FALSE)
})
#每当刷新配置时,使用表的内容进行回调
output $ RESULTS <-renderRpivotTable({
rpivotTable(
qbdata(),
onRefresh =
htmlwidgets :: JS(“ function(config){
Shiny.onInputChange('myData',document.getElementById('RESULTS')。innerHTML);
}“)
)
})
}
|
不是您要找的答案?浏览标记为dplyr闪亮的其他问题或提出您自己的问题。